package com.atguigu.tingshu.user.config;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class WeChatMpConfig {
    @Autowired
    private WechatAccountConfig wechatAccountConfig;
    /**
     * 创建并配置WxMaService实例
     *
     * 该方法是一个Spring的@Bean注解修饰的方法，用于创建和配置WxMaService的实例
     * WxMaService是微信小程序的Java SDK，提供了一系列简化微信小程序开发的工具和接口
     *
     * @return 返回配置好的WxMaService实例，供其他Bean或组件在处理微信小程序相关业务时使用
     */
    @Bean
    public WxMaService wxMaService(){
        // 创建WxMaDefaultConfigImpl实例，用于设置微信小程序的配置信息
        WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
        // 设置微信小程序的AppID
        wxMaDefaultConfig.setAppid(wechatAccountConfig.getAppId());
        // 设置微信小程序的AppSecret
        wxMaDefaultConfig.setSecret(wechatAccountConfig.getAppSecret());

        // 创建WxMaServiceImpl实例，用于提供微信小程序相关的服务
        WxMaServiceImpl wxMaService = new WxMaServiceImpl();
        // 将配置好的WxMaDefaultConfigImpl实例设置到WxMaServiceImpl实例中
        wxMaService.setWxMaConfig(wxMaDefaultConfig);

        // 返回配置好的WxMaService实例
        return wxMaService;
    }
}
